home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 1 / Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso / FILES / APP / S-Z / TimeBook2.0.sit / TimeClock 2.0 / stack_-1.xml < prev   
Extensible Markup Language  |  1993-03-22  |  27KB  |  20 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
  3. <stack>
  4.     <name>in.0</name>
  5.     <id>-1</id>
  6.     <cardCount>1</cardCount>
  7.     <cardID>3008</cardID>
  8.     <listID>2517</listID>
  9.     <cantModify><false /></cantModify>
  10.     <cantDelete><true /></cantDelete>
  11.     <cantAbort><false /></cantAbort>
  12.     <cardSize>
  13.         <width>192</width>
  14.         <height>72</height>
  15.     </cardSize>
  16.     <script>-- STACKS: TimeBook, TimeClock, TimeFile-- VERSION:2.0-- ¬©Copyright 1993 Ronald Ladouceur, All Rights Reserved.-- DESCRIPTION: TimeBook - a fully functional time sheet and time tracking system.-- REQUIREMENTS: HyperCard 2.1 or HyperCard Player-- TimeBook uses XFCNs created in CompileIt! 2.1 ¬©Copyright 1992 by Heizer Software.-- The source HyperTalk scripts used to create these XFCNs and XCMDs are at the end-- of the background script of the TimeClock stack.-- TimeBook‚Äôs TimeClock stack uses an XFCN called popUpMenu() XFCN ¬©Copyright 1991-- by BungDabba Productions, All Rights Reserved. A popup menu XFCN which-- allows you to specify font and size.-- GLOBALS: commentsOn, autoUpdate, proMenus, punchLockOut,-- clientNumerals, jobNumerals, versionNumber, saveLockOut, holdDayList,-- optionStart, daysEnd, alreadyKnow, lastClickon openStackif wrongStack() then pass openStackglobal versionNumber,jobNumerals,clientNumerals,punchLockOut,proMenus,autoUpdate,commentsOn,roundUpif the version < 2.1 thenanswer "You must run HyperCard 2.1 or later to use TimeBook."doMenu "Quit HyperCard"end ifset cursor to watchput word 2 of the short name of this stack into versionNumberstart using stack "TimeBook" && versionNumbersend mouseUp to bg btn id 13lock screenif jobNumerals is empty or clientNumerals is empty or roundUp is empty ¬¨or commentsOn is empty or proMenus is empty or autoUpdate is empty thenpush cdlock messagesgo to stack "TimeBook" && versionNumberif the result is empty thengo bg id 3068put bg fld id 5 into jobNumeralsput bg fld id 6 into clientNumeralsput bg fld id 28 into roundUpgo to cd id 5964put the highLight of bg btn "Comments" into commentsOnput the highLight of bg btn "Pro Menus" into proMenusput the highLight of bg btn "Auto Update" into autoUpdateend ifpop cdunlock messagesend ifunlock screenif fld "dateHolder" is not the long date or punchLockOut is true thenif line 3 of fld "jobInfo" is "open" thencloseYesterdayend ifitsANewDayend ifif there is no menu "TimeBook" then logicMenusend openStackon itsANewDayglobal versionNumber,daysEnd,punchLockOutdoMenu "Compact Stack"put empty into fld "JobInfo"lock screenif guessMonday(the short date) is not fld "weekHolder" thenunlock screenput "open job" into daysEndgo stack "TimeBook" && versionNumbergo bg "dayRecorderput true into punchLockOutexit to hyperCardend ifpush cdlock messagesput the long date into fld "dateHolder"put fld "dateHolder" into thisCdconvert thisCd to short datego stack "TimeBook" && versionNumbergo cd "Time Book" && the short dateif fld id 2 is not empty then put item 2 of the last line of fld id 2 into prevEndelse put empty into prevEndpop cdput prevEnd into fld "PrevEndTime"unlock screenunlock messagesend itsANewDayon mouseUpInPicture thewindowif there is a window thewindow thenclose window thewindowend ifend mouseUpInPictureon closeYesterdayglobal daysEndput checkFor24HourClock() into clockCheckif clockCheck is "twelveClock" thenput "11:59 PM" into endOfDayput "12:00 AM" into startOfDayelseput "23:59" into endOfDayput "00:00" into startOfDayend ifput "open job" into daysEndanswer "You must stop the open job. If you‚Äôre working " & ¬¨"past midnight - enter " & endOfDay & " and re-start the job at " & startOfDay & "."logicMenusexit to hyperCardend closeYesterdayon resumeStackif wrongStack() then pass resumeStackopenStackend resumeStackfunction wrongStackget the value of word 2 of the long name of mereturn (it is not line 1 of the stacks)end wrongStackon resumeif wrongStack() then pass resumeopenStackStackend resumefunction checkFor24HourClockput the time into checkTimeif "AM" is in checkTime or "PM" is in checkTime thenput twelveClock into clockTypeelseput twentyFourClock into clockTypeend ifreturn clockTypeend checkFor24HourClockon closeStackglobal versionNumberif wrongStack() then pass closeStackput word 2 of the short name of this stack into versionNumberunLogicMenusstopLogicpass closeStackend closeStackon suspendStackif wrongStack() then pass suspendStackcloseStackend suspendStackon suspendif wrongStack() then pass suspendcloseStackend suspendon stopLogicglobal versionNumberif "TimeBook" && versionNumber is in the stacksInUse then stop using stack "TimeBook" && versionNumberend stopLogicon startLogicglobal versionNumberif "TimeBook" && versionNumber is not in the stacksInUse then start using stack "TimeBook" && versionNumberend startLogicon stopPunchglobal versionNumberif "TimeClock" && versionNumber is in the stacksInUse then stop using stack "TimeClock" && versionNumberend stopPunchon startPunchglobal versionNumberif "TimeClock" && versionNumber is not in the stacksInUse then start using stack "TimeClock" && versionNumberend startPunchon standardSaveglobal versionNumberlock messagesgo to bg "TimeSheet"put the last word of fld "TimeSheetName" into employeeNumput word 1 to (the number of words of fld "TimeSheetName" - 1) of fld "TimeSheetName" into employeeNameput fld "TimeSheetWeek" into weekOfconvert weekOf to short dateput employeeNum & "," & weekOf into thisTimeSheetput fld "JobNumber" into saveJobNumberput fld "BillingCat" into saveBillingCatput fld "Total" into saveTotalput fld "TotalBillHours" into saveTotalBillHoursput fld "TotalHours" into saveTotalHoursput fld "OverTime" into saveOverTimeput fld "TotalOverHours" into saveTotalOverTimeput fld "RawData" into saveRawDataput fld "Comments" into saveCommentsgo to bg "SavedTimeSheets" of stack ("TimeFile" & employeeNum)if the result is not empty thenanswer "An error occured during saving - Please try again."exit standardSaveend ifif there is a cd thisTimeSheet thengo to cd thisTimeSheetelsego to last cd of this bgdoMenu "New Card"set the name of this cd to thisTimeSheetput employeeName into fld "TimeSheetName"put weekOf into fld "TimeSheetWeek"end ifput saveJobNumber into fld "jobNumber"put saveBillingCat into fld "BillingCat"put saveTotal into fld "Total"put saveTotalBillHours into fld "TotalBillHours"put saveTotalHours into fld "TotalHours"put saveOverTime into fld "OverTime"put saveTotalOverTime into fld "TotalOverHours"put saveRawData into fld "RawData"put saveComments into fld "Comments"put employeeNum into fld "TimeSheetNum"put employeeName into fld "TimeSheetName"repeat with y = 1 to 7go to bg "TimeSheet" of stack "TimeBook" && versionNumberput whataDay(y) into saveDayput fld saveDay into saveDayHoursput saveDay & "BillHours" into getBillHoursFieldput fld getBillHoursField into saveBillHoursput saveDay & "Hours" into getHoursFieldput fld getHoursField into saveHoursgo to cd thisTimeSheet of bg "SavedTimeSheets" of stack ("TimeFile" & employeeNum)put saveDayHours into fld saveDayput saveBillHours into fld getBillHoursFieldput saveHours into fld getHoursFieldend repeatgo to bg "DayRecorder" of stack "TimeBook" && versionNumberrepeat with x = 1 to (the number of cds of this bg)go to bg "DayRecorder" of stack "TimeBook" && versionNumbergo to cd x of this bgput empty into totalTimeHolderif fld id 2 is not empty thenput fld "totalCompareTime" into fieldHolderrepeat with x = 1 to the number of lines of fieldHolderput item 1 to 3 of line x of fieldHolder & return after totalTimeHolderend repeatend ifput fld "day" into dateHolderput "TimeFile" & employeeNum into thisStackNamego to stack thisStackNameif the result is not empty thenanswer "An error occured - Please try saving again."exit standardSaveend ifgo bg "TimeSaver"put item 2 to 3 of dateHolder & "," & employeeNum into artCardif there is a cd artCard of this bg thengo to cd artCard of this bgif totalTimeHolder is empty thenset the cantDelete of this cd to falsedoMenu "Delete Card"next repeatend ifelseif totalTimeHolder is empty then next repeatdoMenu "New Card"set the name of this cd to artCardset cantDelete of this cd to trueend ifconvert dateHolder to short dateput dateHolder into makeSecondsconvert makeSeconds to secsput dateHolder into fld "weekDayDate"put makeSeconds into fld "weekDaySecs"put totalTimeHolder into fld "weekDayTotals"put employeeNum into fld "ArtistNumber"put employeeName into fld "ArtistName"end repeatend standardSaveon logicMenusglobal versionNumber,proMenuslock screenreset menubarif there is a menu "TimeBook" then exit logicMenusif proMenus is false then limitedLogicMenuscreate menu "TimeBook"if there is a menuItem "Print Card" of menu "File" then delete menuItem "Print Card" of menu "File"put logicMenusItems() into menu "TimeBook" with menuMsg logicMenusMsgs()set the name of menuItem 1 of menu "Apple" to "About TimeBook"put "1,2,5,6,7,10,11,19,\,\,O,[,],T,S,H" into logComsrepeat with x = 1 to 8set commandChar of MenuItem (item x of logComs) of menu "TimeBook" to (item x + 8 of logComs)end repeatif the short name of this stack is "TimeClock" && versionNumber thenmenuControlPunchend ifif the short name of this stack is "TimeBook" && versionNumber thenmenuControlLogicend ifif "TimeFile" is in the short name of this stack thenmenuControlTimeend ifunlock screenend logicMenuson menuControlPunchput menusOnOff() into onOffsdisable menuItem (item 1 of onOffs) of menu "TimeBook"repeat with x = 2 to 8enable menuItem (item x of onOffs) of menu "TimeBook"end repeatdisable menuItem (item 9 of onOffs) of menu "TimeBook"repeat with x = 10 to 11enable menuItem (item x of onOffs) of menu "TimeBook"end repeatend menuControlPunchfunction menusOnOffglobal versionNumberreturn "TimeClock" && versionNumber & ",TimeBook" && versionNumber & ",Open Job,Start Clock" &¬¨",Stop Clock,Cancel Job,Preferences,Do Time Sheet,Save/Print,TimeFile,Help"end menusOnOffon menuControlLogicput menusOnOff() into onOffsenable menuItem (item 1 of onOffs) of menu "TimeBook"repeat with x = 2 to 2 -- 6disable menuItem (item x of onOffs) of menu "TimeBook"end repeatenable menuItem (item 3 of onOffs) of menu "TimeBook"repeat with x = 4 to 6disable menuItem (item x of onOffs) of menu "TimeBook"end repeatrepeat with x = 7 to 11enable menuItem (item x of onOffs) of menu "TimeBook"end repeatif there is a menu "Go" then disable menuItem "Recent" of menu "Go"end menuControlLogicon menuControlTimeput menusOnOff() into onOffsrepeat with x = 1 to 3enable menuItem (item x of onOffs) of menu "TimeBook"end repeatrepeat with x = 4 to 6disable menuItem (item x of onOffs) of menu "TimeBook"end repeatrepeat with x = 7 to 8enable menuItem (item x of onOffs) of menu "TimeBook"end repeatrepeat with x = 9 to 10disable menuItem (item x of onOffs) of menu "TimeBook"end repeatenable menuItem (item 11 of onOffs) of menu "TimeBook"if there is a menu "Go" then disable menuItem "Recent" of menu "Go"end menuControlTimeon limitedLogicMenusput keptFile() into menu "File"put keptEdit() into menu "Edit"delete menu "Go"delete menu "Tools"delete menu "Objects"delete menu "Font"delete menu "Style"set commandChar of menuItem "Quit HyperCard" of menu "File" to "Q"put fileCommands() into theFileKeysrepeat with x = 1 to (the number of items of theFileKeys)set commandChar of menuItem x of menu "Edit" to item x of theFileKeysend repeatend limitedLogicMenusfunction keptFilereturn "Page Setup...,Print Report...,-,Quit HyperCard"end keptFilefunction keptEditreturn "Cut,Copy,Paste,Clear"end keptEditfunction fileCommandsreturn "X,C,V,,"end fileCommandson unlogicMenusif there is not a menu "TimeBook" then exit unlogicMenuselse reset menuBarend unlogicMenusfunction logicMenusItemsglobal versionNumberreturn "TimeBook" && versionNumber & ",TimeClock" && versionNumber & ",TimeFile" & ¬¨",-,Open Job,Start Clock,Stop Clock,Cancel Job,-,Do Time Sheet,Save/Print,-,Edit Jobs,Edit Clients,Edit Billing Categories,Edit Comments" & ¬¨",-,Preferences,Help,-,Fix It/Reset"end logicMenusItemsfunction logicMenusMsgsreturn "gologic,goPunch,goTimeSaver,,doOpen,doStart,doStop,cancelJob,,doTime,saveIt,,editIt 39,editIt 44,editIt 61,commentIt,,goPrefs,goShort,,resetMe"end logicMenusMsgson gologicglobal versionNumberlock messageslock screengo stack "TimeBook" && versionNumberput ("Time Book" && the short date) into thisCdgo cd thisCd of bg "dayRecorder" of stack "TimeBook" && versionNumberif the result is not empty thengo to bg "dayRecorder"end ifunlock screenmenuControlLogicunlock messagesstopLogicstartPunchend gologicon goPunchglobal versionNumber,punchLockOutif punchLockOut is true thenanswer "You must reset your time sheet before exiting TimeBook."exit goPunchend ifif versionNumber is empty then put word 2 of the short name of this stack into versionNumberif "TimeClock" && versionNumber is not in stacksInUse thenstart using stack "TimeClock" && versionNumberend ifset cursor to watchlock screengo stack "TimeBook" && versionNumbergo cd ("Time Book" && the short date)if the result is empty thenif fld "recorderBookList" is empty then put "noCheck" into firstJoblock messagesput item 2 of the last line of fld "recorderBookList" into lastEndTimeelse put empty into lastEndTimeput the long date into trialByFirego to stack "TimeClock" && versionNumberif the result is not empty thenanswer "Unable to go to 'TimeClock" && versionNumber & "'."exit goPunchend ifmenuControlPunchif "TimeClock" is not in the short name of this stack thengo to stack "TimeClock" && versionNumberend ifput trialByFire into fld "DateHolder"put lastEndTime into fld "PrevEndTime"if firstJob is "firstJob" thenif line 2 of fld "JobInfo" is not empty and ¬¨line 2 of fld "JobInfo" is not fld "PrevEndTime" and line 3 of fld "JobInfo" is "Open" thenif lastEndTime is not empty thenput lastEndTime into line 2 of fld "JobInfo"elseput empty into line 2 to 4 of fld "JobInfo"end ifend ifend ifunlock messagesunlock screenstopPunchstartLogicsend mouseUp to bg btn "Job"end goPunchon goTimeSaverglobal punchLockOut,versionNumberif punchLockOut is true thenanswer "Please reset your time sheet. Select 'Fix It/Reset' in the TimeBook menu."exit goTimeSaverend iflock screenlock messagesset cursor to watchgo bg "dayRecorder" of stack "TimeBook" && versionNumberput "TimeFile" & the last word of fld "empNameNumb" into goToThisStackgo to stack goToThisStackif the result  is empty thenmenuControlTimestopLogicstartPunchgo to last cd of bg "SavedTimeSheets"end ifunlock screen with visual wipe rightend goTimeSaveron doOpenif "TimeClock" is not in the short name of this stack then goPunchunlock screensend keyJob to this bgend doOpenon doStartif "TimeClock" is not in the short name of this stack then goPunchunlock screensend keyStarter to this bgend doStarton doStopif "TimeClock" is not in the short name of this stack then goPunchunlock screensend keyEnder to this bgend doStopon cancelJobset cursor to watchstartTheJob downend cancelJobon startTheJob theOptionKeyglobal optionStart,versionNumberif the visible of fld "TasksField" thenif theOptionKey is down thencleanUpelseexit startTheJobend ifend ifif the optionKey is down or theOptionKey is "Down" thenif line 3 of fld "JobInfo" is "Open" thenlock screenlock messagespush cdgo stack "TimeBook" && versionNumbergo cd "Time Book" && the short dateput item 2 of the last line of fld id 2 into optionStartpop cdunlock screenunlock messagesend ifput empty into line 1 to 4 of fld "JobInfo"exit startTheJobend ifset highlight of bg button "Start" to trueif line 3 of fld "jobInfo" is "Open" thenanswer "You already have a job started. Please stop it or cancel it before opening another job. Option-click" & ¬¨" on the start line to cancel or choose ‚ÄòCancel Job‚Äô from the TimeBook menu."exitStartend ifif line 1 of fld "jobInfo" is empty thenbeepanswer "Please open a job."exitStartend ifif optionStart is empty thenput fld "PrevEndTime" into lastTimeelseput optionStart into lastTimeend ifif lastTime is empty thenput "Enter Time" into pickedJobFullelseput lastTime & return & "Enter Time" into pickedJobFullend ifput item 1 of rect of the target + 1 & "," into TheMenuLocput item 2 of rect of the target + 3 after TheMenuLocput popUpMenu(pickedJobFull,TheMenuLoc,,"Geneva","9") into pickedJobHoldput line 1 of pickedJobHold into convertStartif convertStart is empty thenexitStartend ifif convertStart is "Enter Time" thenif lastTime is empty thenask "What time did you start the job?" with the short timeelseask "What time did you start the job?" with lastTimeend ifif the result is "Cancel" or it is empty thenexitStartend ifconvert it to short timeif the result is not empty thenanswer "Not a valid time. Please re-enter."exitStartend ifput it into convertStartput convertStart into testStartend ifconvert lastTime to secsconvert testStart to secsif lastTime > testStart thenanswer "WARNING: This start time is earlier than your last end time." with "OK" or "Cancel"if it is "Cancel" thenexitStartend ifend ifput empty into optionStartput convertStart into line 2 of fld "jobInfo"put "Open" into line 3 of fld "jobInfo"put empty into line 4 of fld "JobInfo"set highlight of bg button "Start" to falseput empty into optionStartend startTheJobon exitStartset the highlight of bg btn "Start" to falseexit to hyperCardend exitStarton saveItgoLogicgo to bg "timeSheet"send mouseUp to bg btn id 60end saveIton commentIt passedItglobal versionNumberpush cdlock messageslock screengo stack "TimeClock" && versionNumberif passedIt is empty thenget showList("(C0) No Comment" & return & fld "Comments","Edit Comments",false,true,"Done,Delete,New,Revise",1)elseput passedIt into itend ifif line 1 of it is "Delete" thenif line 2 of it is 1 thenanswer "You cannot delete this comment"exit commentItend ifput "Comment deleted" into word 2 to (the number of words of line (line 2 of it - 1) of fld "Comments") of line (line 2 of it - 1) of fld "Comments"put fld "Comments" into takeCommentspush cdgo bg id 7188 of stack "TimeBook" && versionNumberput takeComments into fld "LogicComments"pop cdcommentItend ifif line 1 of it is "New" thenask "Enter new comment."if the result is cancel thenpop cdexit to HyperCardend ifif char 1 to 2 of it is "(C" thendelete char 1 to offset(")",it) + 1 of itend ifrepeat with x = 1 to (the number of chars of it)if char x of it is "," then put "/" into char x of itend repeatput (char 3 to (the number of chars of word 1 of the last line of fld "Comments" - 1) of the last line of fld "Comments") + 1 into nextComput "(C" & nextCom & ")" && it & return after fld "Comments"put fld "Comments" into takeCommentspush cdgo bg id 7188 of stack "TimeBook" && versionNumberput takeComments into fld "LogicComments"pop cdif passedIt is empty then commentItend ifif line 1 of it is "Revise" thenput it into thisLineif line 2 of it is 1 thenanswer "You cannot revise this comment"exit commentItend ifask "Revise this comment." with word 2 to (the number of words of line (line 2 of it - 1) of fld "Comments") of line (line 2 of it - 1) of fld "Comments"if the result is cancel thenpop cdexit to HyperCardend ifif char 1 to 2 of it is "(C" thendelete char 1 to offset(")",it) + 1 of itend ifrepeat with x = 1 to (the number of chars of it)if char x of it is "," then put "/" into char x of itend repeatput it into word 2 to (the number of words of line (line 2 of thisLine - 1) of fld "Comments") of line (line 2 of thisLine - 1) of fld "Comments"put fld "Comments" into takeCommentspush cdgo bg id 7188 of stack "TimeBook" && versionNumberput takeComments into fld "LogicComments"pop cdcommentItend ifpop cdif the id of this bg is 7188 then showComments (fld id 2)end commentIton EditIt theId,whatOptionglobal versionNumberlock messageslock screenpush cdgo stack "TimeClock" && versionNumberput the short name of fld id theId into theNameif the visible of fld id 39 or the visible of fld id 44 or the visible of fld id 61 thenrepeat with x = 13 to 15set the checkMark of menuItem x of menu "TimeBook" to falseset the highlight of bg btn id (x + 54) to falseend repeatif the visible of fld id 39 thenset the visible of fld id 39 to falseif theId is 39 then put true into exitItend ifif the visible of fld id 44 thenset the visible of fld id 44 to falseif theId is 44 then put true into exitItend ifif the visible of fld id 61 thenset the visible of fld id 61 to falseif theId is 61 then put true into exitItend ifif the optionKey is not down and exitIt is true thenset the highlight of bg btn id 69 to falseset the highlight of bg btn id 68 to falseset the highlight of bg btn id 67 to falseexit editItend ifend ifif the optionKey is down or whatOption is "down" thenset the visible of fld theName to trueset the highlight of bg btn (theName & "List") to trueset the checkMark of menuItem ("Edit " & theName) of menu "TimeBook" to trueexit EditItend ifget showList(fld id theId,"Edit" && theName,true,true,"Done,Delete,New,Revise",1)if line 1 of it is "Delete" thenput (the number of items of line 2 of it) into totalItemsrepeat with x = 1 to totalItemsdelete line (item totalItems - (x -1) of line 2 of it) of fld id theIdend repeatEditIt theIdend ifif line 1 of it is "Revise" thenput it into thisLineask "Revise this entry‚Ķ" with line (line 2 of it) of fld id theIdif the result is cancel thenpop cdexit to HyperCardend ifput it into line (line 2 of thisLine) of fld id theIdsort fld id theIdcheckList theIdEditIt theIdend ifif line 1 of it is "New" thenif theId is 39 then send keyNewJob to bg id 2810if theId is 44 thenask "Enter new client name and number... in that order."if the result is "Cancel" then exit editItput it & return after fld id 44end ifif theId is 61 thenask "Enter new billing category code and name... in that order."if the result is "Cancel" then exit editItput it & return after fld id 61end ifsort fld id theIdcheckList theIdEditIt theIdend ifpop cdend EditIton doTimegoLogicsend mouseUp to bg btn id 57end doTimeon goTimelock screengoLogicgo to bg id 7841unlock screenend goTimeon goShortlock screengoLogicgo to bg id 11913unlock screen with visual barn door openend goShorton goPrefslock screengoLogicgo to cd id 5964unlock screen with visual barn door openend goPrefson checkList whatIdrepeat with x = 1 to (the number of lines of fld id whatId)if line 1 of fld id whatId is not empty thenexit checkListend ifdelete line 1 of fld id whatIdend repeatend checkListon shortCalculateTimeSheetgoLogicput sortRight(fld "recorderBookList") into fld "recorderBookList"put fld "recorderBookList" into recBookListrepeat with y = 1 to (the number of lines of recBookList)put item 1 of line y of recBookList into compareput item 2 of line y of recBookList into compare2convert compare to secsconvert compare2 to secssubtract compare from compare2divide compare2 by 60put compare2 & "," & item 3 to 4 of line y of recBookList & return after totalTimeHolderend repeatif totalTimeHolder is not "totalTimeHolder" thenput totalTimeHolder into fld "totalTime"put (the number of lines of totalTimeHolder) into lineNumberput compareExtTest(totalTimeHolder,lineNumber) into fld "totalCompareTime"end ifend shortCalculateTimeSheeton shortSaveglobal versionNumber,thisStackNamelock messagesgo to cd ("Time Book" && the short date)put the last word of fld "empNameNumb" into artistBgput word 1 to (the number of words of fld "empNameNumb" - 1) of fld "empNameNumb" into artistNameput fld "totalCompareTime" into fieldHolderput fld "day" into dateHolderput "TimeFile" & artistBg into thisStackNameset cantAbort of stack thisStackName to truego to bg "TimeSaver" of stack thisStackNameif the result is not empty thenanswer "Unable to update TimeFile" & artistBg & "."exit shortSaveend ifput item 2 to 3 of dateHolder & "," & artistBg into artCardif there is a cd artCard thengo to cd artCardelsego to last cd of this bgdoMenu "New Card"set the name of this cd to artCardset cantDelete of this cd to trueend ifconvert dateHolder to short dateput dateHolder into makeSecondsconvert makeSeconds to secsput dateHolder into fld "weekDayDate"put makeSeconds into fld "weekDaySecs"put fieldHolder into fld "weekDayTotals"put artistBg into fld "ArtistNumber"put artistName into fld "ArtistName"end shortSavefunction guessMonday whatDayglobal versionNumber,thisDayconvert whatDay to long datepush cdlock messagesgo to bg id 3068 of stack "TimeBook" && versionNumberrepeat with x = 7 to 13if the highLight of bg btn id x thenput the short name of bg btn id x into thisDayexit repeatend ifend repeatpop cdif item 1 of whatDay ‚↠thisDay thenconvert whatDay to secsrepeat 7subtract (60*60*24) from whatDayconvert whatDay to long dateif item 1 of whatDay is thisDay thenexit repeatend ifconvert whatDay to secsend repeatend ifunlock messagesreturn whatDayend guessMondayon goDaygoLogicend goDayon cleanOffDayListrepeat with x = 1 to 7go to cd x of bg "DayRecorder"put empty into fld "totalTime"put empty into fld "totalCompareTime"put empty into fld "totalOverTime"put empty into fld "totalCompareOverTime"end repeatend cleanOffDayListon resetMeglobal versionNumberif "TimeBook" is not in the short name of this stack then go to stack "TimeBook" && versionNumbergo bg "dayRecorder"answer "Do you want to reset TimeBook or just fix a TimeBook problem?" with "Cancel" or "Reset" or "Fix It"if it is "Reset" thenanswer "WARNING: resetting TimeBook erases all time sheet information (It won‚Äôt erase your TimeFile stack)." with "Reset" or "Cancel"if it is "Reset" thenlock screenresetLogicTimecleanUpelsepop cardexit resetMeend ifelseif it is "Fix It" thenlock screencleanUpend ifend ifgoLogicunlock screenend resetMe</script>
  17.     <background id="2810" file="background_2810.xml" name="" />
  18.     <card id="3008" file="card_3008.xml" marked="false" name="" owner="2810" />
  19. </stack>
  20.